<template>
  <h1>A</h1>
  <button @click="emitB">emit</button>
</template>
<script setup lang="ts">
import { ref } from 'vue'
import Bus from './Bus'
const flag = ref<boolean>(false)
// // 调用 defineEmits 方法，参数为字符串数组，进行自定义事件注册，返回值为以函数，调用该函数会触发自定义事件
// const emit = defineEmits(['on-click'])
// const emitB = () => {
//   flag.value = ! flag.value
//   // 调用 emit 方法，第一个参数为注册的自定义事件名，触发对应的自定义事件
//   // 后续参数为在自定义事件的事件处理程序中接受到的参数
//   emit('on-click', flag)
// }

const emitB = () => {
  flag.value = !flag.value
  // 派发自定义事件，即触发所有以 on-click 为名的注册的自定义事件处理函数，并传递 flag 参数给事件处理函数
  Bus.emit('on-click', flag)
}
</script>
<style scoped></style>
